In today's business environment, employees often must resort to many sources of information and means of communication to effectively perform tasks as part of their responsibilities. Increasingly, those tasks require receiving, locating, editing, or creating information using computer programs. These programs may include software for email, word processing, accounting, presentation, and scheduling, such as Microsoft Outlook, Word, PowerPoint, Excel, Lotus Notes, Lotus Organizer, and Adobe Acrobat. Certain business roles also require accessing or manipulating data stored in large databases, such as enterprise solution software. These enterprise packages provide a single entry point for all information, applications, and services that people need to do their jobs. They provide a way for suppliers, customers, partners, and employees to access all relevant content easily and securely, and to participate in all types of business processes. Since information and applications are unified, users can identify and address business issues faster, more effectively, and at a lower cost. Specific enterprise solutions may exist for assisting a company with, for example, enterprise resource planning, customer relationship management, human resource management, and supply chain management.
An example of an enterprise solution is the R/3 System from SAP AG. R/3 is an online transaction processing system designed to provide integrated processing of business routines and transactions. It includes enterprise-wide, integrated solutions, as well as specialized applications for individual and departmental functions. The R/3 system mirrors the business-critical processes of the enterprise—finance, manufacturing, sales, and human resources. It also offers various analytical capabilities to supplement the transaction processing function. The R/3 System is based on SAP's client/server architecture which separates the database, application, and presentation components for greater flexibility. This enables enterprises to take advantage of the various benefits of the architecture, including the capability to run across a variety of today's most popular UNIX-based hardware platforms.
Given the complexity of the applications and enterprise solutions in use today, providing the user with feedback is essential. The most common method of providing the user with feedback is through a messaging system. Conventional messaging systems provide the user with feedback by displaying a message window on the screen, the message window containing one or more action buttons. For example, if the user has initiated a processing operation, a message window may appear after the processing has completed. The message window may be centered on the user's display device, may be statically located so that the user cannot move the message, and may contain an action button such as “OK” that the user must select before the user can proceed with using other features of the application or enterprise solution. These message windows are typically passive, in that the user often has minimal options for interaction in the message window. While this conventional messaging system may be sufficient under some circumstances, it is often lacking, particularly when the user has been provided with feedback to indicate that a user-initiated error has occurred.
User-initiated errors are commonplace. The most common user-initiated errors are typographical errors, errors caused by the user requesting data not present in a database (“request-for-missing-data errors”), errors caused by some other error in a related entry (“dependency errors”), and errors caused by the user not providing required information (“missing-but-required-entry errors”). When an error occurs, the user interface notifies the user of the error, typically in a new pane on the user's display device. Upon display of this notification, the user's options are limited, typically only allowing the user to acknowledge the error, and not providing the user with any tools to fix the error.
To resolve the error, the user is often forced to proactively “pull” (i.e., locate and retrieve) information from a complex set of resources, maneuvering up and down complex structures of “trees” to find or modify the information necessary to resolve the error. Consequently, to effectively resolve errors, users must both know how to navigate through each program and know where data is located that is necessary for resolving an error. Even with this knowledge, users must wade through vast amounts of extraneous information to get to the data that is needed. They rarely, however, need the full resources or depth of information available. Therefore, business users may spend an inordinate amount of time accessing and manipulating data in the course of resolving errors. The organization also suffers, expending significant resources to train users on how to resolve different types of errors.
Adding to the user's challenge in addressing and resolving errors, error notifications are cryptic or provide very little information to the user, making it difficult for novice or even moderately experienced users to understand the error, much less how to correct it. This conventional messaging system results in frustration for the user who has to either resolve the error herself or expend time or other resources seeking help to resolve the error. Additionally, conventional messaging systems may require errors to be resolved sequentially, so the relationship between errors, if any, cannot readily be determined. Consequently, business users may spend an inordinate amount of time addressing messages and resolving errors in the course of fulfilling their responsibilities.
Further complicating error resolution is that not all errors can be resolved by all users. For example, the user may not have authorization to make the change(s) necessary to resolve an error. Current error messaging systems do not effectively differentiate between authorization levels or roles in an organization to provide user-specific feedback on the steps necessary to resolve the error. Thus, an unauthorized user may receive the same generic error message as a user who does have the necessary authorization. This environment often results in users needlessly expending resources attempting to understand and resolve errors that they are unable to fix themselves.
As demonstrated, conventional messaging systems are often inefficient and are not up to the task of providing users with the tools necessary to address the substance of its messages. The present invention is directed overcoming one or more of the deficiencies described above.